home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
MYIO.ZIP
/
MYLINE.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-11-02
|
1KB
|
44 lines
// myLine.h
//
// Donated to the public domain; no restrictions on reuse or abuse apply.
// by David Nugent, 7th June, 1993.
// Simple line input class for istream to demonstrate input of a complete
// line rather than whitespace separated tokens (the default for operator<<
// for char* and other built-in types).
// Works by overloading operator>> for a customised class - this functionality
// is easily incorporated into your favourite String class
//
# if !defined(_myLine_h)
# define _myLine_h 1
# define AUTO_GROW 1 // Allow autogrowth of buffer to fit
# define ALLOC_LEN 80 // Standard length & growth increment
// Class declaration
class myLine
{
public:
myLine (short buflen =ALLOC_LEN);
myLine (char * usebuf, short buflen =ALLOC_LEN);
~myLine (void);
// Get buffer address
char const * buf (void) const { return mybuf; }
// Conversion operators
char const * operator() (void) const { return mybuf; } // Explicit cast
operator char const * (void) const { return mybuf; } // Implicit cast
// istream operator>>
friend istream & operator>> (istream &, myLine &);
private:
short len, xalloc;
char * mybuf;
};
# endif // _myLine_h